The invention relates generally to call centers or other call processing systems in which voice calls, e-mails, faxes, voice messages, text messages, Internet service requests and other types of communications are distributed among a number of service agents for handling.
Call centers distribute calls and other types of communications to available call-handling service agents in accordance with various predetermined criteria. In existing systems, the criteria for handling a call are often programmable by the operator of the system via a capability known as call vectoring. Typically, when the system detects that an agent has become available to handle a call, the system identifies the call-handling skills of the agent, usually in some order of priority, and delivers to the agent the longest-waiting call that matches the agent""s highest-priority skill. Most conventional call distribution techniques generally focus on being xe2x80x9cfairxe2x80x9d to callers and agents. This fairness is reflected by the standard first-in, first-out call to most-idle-agent call assignment process. The above-noted skills-based queuing improves upon this basic process in that it allows each agent to be placed into a number of different service categories based on the skill types supported by that agent.
Conventional skills-based queuing generally utilizes a single-dimensional skill assignment in which calls requiring a particular skill are selected for service only after reaching the head position in a corresponding xe2x80x9cskill queue.xe2x80x9d In order to process calls of varying priority, separate skill queues can be established for each priority level. For example, a conventional three-tier priority system for calls requesting technical support may provide three separate skill assignments, i.e., low priority tech support, mid priority tech support and high priority tech support. Each of the calls would generally be placed in one of three separate skills queues depending upon the tech support priority of that call, and agents serving the calls would have to log in to agent queues for each of the three different skill assignments. In this conventional system, when an agent becomes available, he or she takes a call from the head position of one of the skills queues in accordance with a decision protocol. Such a protocol may be designed to select, for example, the call which has waited the longest, the call expected to wait beyond a desirable service response threshold, or the call which has waited the longest in proportion to the desired service response threshold. These decision protocols generally consider only the calls at the head position in each skill queue. As a result, conventional systems are unable, for example, to permit a call that has not reached the head position to be served before the call currently occupying the head position.
Another known method for handling calls of varying priority uses a single queue. For example, certain calls can be assigned a high priority, such that those calls will be serviced before other calls of lower priority, while calls of the various priorities are all queued in a single skill queue. However, call processing techniques of this type typically require that the high priority calls are always serviced ahead of the lower priority calls. Using these techniques can therefore result in a given lower priority call being kept waiting indefinitely as long as there is always at least one higher priority call to be serviced.
The invention solves these and other problems of the prior art by providing skill-value queuing which permits a call that has not reached the head position in a skill queue to be serviced before the call currently occupying the head position in that queue. The service decision is based on a value assignment and time adjustment associated with the call, relative to the value assignments and time adjustments of the call or calls ahead of it in the skill queue. The use of skill-value queuing in accordance with the invention thus enables call centers to respond to the value of a call without encoding the value into a separate skill assignment, and also eliminates the potential for a low value caller having an indefinitely long wait in a single queue implementation. The invention can be applied not only to voice calls, but also to e-mails, faxes, voice messages, text messages, Internet service requests and other types of communications.
In an illustrative embodiment of the invention, calls requiring a particular skill for handling are placed in a corresponding skill queue in a call center. One of a plurality of different values is assigned to each of the calls in the skill queue. For example, high, mid and low priority values may be assigned for calls placed in a technical support skill queue or other type of skill queue. A given call is selected from the queue as a function of both the assigned values and the wait times of the calls in the queue. This call selection process may include, for example, identifying calls in the queue which are candidates for out-of-order selection, computing an adjusted wait time for each of the identified calls, and selecting the call with the highest adjusted wait time. Identifying candidates for out-of-order selection may involve identifying the first occurrence in the queue of calls corresponding to each of the values, starting from a head position in the queue. The call in the head position in the queue is automatically identified as one of the candidates, and calls which are not in the head position in the queue are identified as candidates only if their corresponding values are greater than that of calls ahead of them in the queue. The adjusted wait time for a given call may be computed, for example, as a sum of the wait time for that call and an advantage adjustment associated with the corresponding value. As another example, the adjusted wait time may be computed for a given call as a sum of the wait time for that call, an advance time for the skill, and the advantage adjustment for its corresponding value. The selected call is then placed in a call selection consideration pool for an agent.
The invention provides a number of advantages over conventional techniques. For example, the invention permits the implementation of multiple service levels for a single skill queue rather then separate skill queues for each service level as in conventional systems. As a result, the invention reduces the number of skill queues that need to be maintained in a call center, or increases the number of service levels that can be provided with a given number of skill queues, while also providing improved call handling performance. These and other features and advantages of the present invention will become more apparent from the accompanying drawings and the following detailed description.